package com.joe.codemother.service;

import com.joe.codemother.entity.User;
import com.joe.codemother.entity.dto.AppAdminQueryRequest;
import com.joe.codemother.entity.dto.AppFeaturedQueryRequest;
import com.joe.codemother.entity.dto.AppMyQueryRequest;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.service.IService;
import com.joe.codemother.entity.App;
import reactor.core.publisher.Flux;

/**
 * 应用 服务层。
 *
 * @author joe
 */
public interface AppService extends IService<App> {

	QueryWrapper getMyQueryWrapper(AppMyQueryRequest request, Long userId);

	QueryWrapper getFeaturedQueryWrapper(AppFeaturedQueryRequest request);

	QueryWrapper getAdminQueryWrapper(AppAdminQueryRequest request);

	Flux<String> chatToGenCode(String userMessage,Long appId, User loginUser);

	String deployCode(Long appId, User loginUser);

	public boolean removeById(Long id);
}
